#import <Cocoa/Cocoa.h>

#import "logic.h"
#import "AI.h"
#import "Board.h"
#import "History.h"
#import "PrefsController.h"
#import "PluginController.h"

@interface GameController : NSObject
{
    IBOutlet id blackCount;
    IBOutlet id blackDesc;
    IBOutlet NSImageView *blackIcon;
    IBOutlet id pluginInfo;

    IBOutlet id board;
    IBOutlet id whiteCount;
    IBOutlet id whiteDesc;
    IBOutlet NSImageView *whiteIcon;
    IBOutlet id statusText;
    IBOutlet id player2Label;    
    IBOutlet id gameWindow;
    IBOutlet id prefs;
    
    History *history;
    PluginController *plugin;
    int context;
	int oldBoardSize;
    BOOL computerMove;
}

- (IBAction)newGame:(id)sender;
- (void)applicationDidFinishLaunching:(NSNotification *)notification;
- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)proposedFrameSize;
- (void)windowWillClose:(NSNotification *)aNotification;
- (void)awakeFromNib;

- (void)resetGame;
- (void)boardHasChangedPosX:(int)x posY:(int)y;
- (void)boardFinishedAnimation;
- (void)computerMove;
- (void)switchContext;
- (void)updateInfo;
- (NSString *)getString:(NSString *)key;
- (void)dealloc;
- (BOOL)ghostsEnabled;
- (void)playSound:(NSString *)sound;
- (void)prefsChanged;
- (int)boardSize;

@end
